# -*- coding: utf-8 -*-
from odoo import models, api, fields, tools
from odoo.exceptions import UserError
import re


class pro_out_in_plan_item(models.Model):

    _name = "proman.pro_out_in_plan_item"
    _description = "投入产出清单"
    _table = "proman_pro_out_in_plan_item"
    _order = "sequence"

    sequence = fields.Integer(string="排序",translate = 0)
    main_id = fields.Many2one(string="主单据号",comodel_name = 'proman.pro_out_in_plan',ondelete = 'cascade',translate = 0)
    company_id = fields.Many2one(string="所属公司",comodel_name = 'res.company',default = lambda self:self.env.company,required = 1,translate = 0)
    name = fields.Char(string="清单名称",help = '请输入清单名称',translate = 0)
    line_manage_department_id = fields.Many2one(string="管理机构",comodel_name = 'hr.department',related = 'main_id.manage_department_id',store = 1,translate = 0)
    line_year = fields.Date(string="年度",related = 'main_id.year',store = 1,translate = 0)
    line_project_id = fields.Many2one(string="项目名称",comodel_name = 'proman.project_base',related = 'main_id.project_id',store = 1,translate = 0)
    line_project_stage_id = fields.Many2one(string="项目阶段",comodel_name = 'proman.stage_category',related = 'main_id.project_stage_id',store = 1,translate = 0)
    line_region_id = fields.Many2one(string="省市县区",comodel_name = 'setcent.region',related = 'main_id.region_id',store = 1,translate = 0)
    indicator_category_id = fields.Many2one(string="指标分类",comodel_name = 'proman.pro_out_in_category',related = 'indicator_id.indicator_category_id',readonly = 1,store = 1,translate = 0)
    in_out_category = fields.Selection(string="投入产出类型",selection = [('1', '产出'), ('2', '投入')],default='1',translate = 0)
    indicator_id = fields.Many2one(string="指标名称",comodel_name = 'proman.pro_out_in_indicator',translate = 0)
    uom_id = fields.Many2one(string="计量单位",comodel_name = 'uom.uom',related = 'indicator_id.uom_id',store = 1,translate = 0)
    quantity = fields.Float(string="数量",translate = 0)
    price = fields.Float(string="单价",translate = 0)
    amount = fields.Float(string="金额",compute = '_compute_amount',translate = 0)
    memo = fields.Text(string="指标说明",translate = 0)

    @api.depends("quantity", "price")
    def _compute_amount(self):
        for record in self:
            record.amount = record.quantity * record.price

